Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIT-2 Release [main] #83

Closed
wants to merge 104 commits into from
Closed

SIT-2 Release [main] #83

wants to merge 104 commits into from

Conversation

bourque
Copy link
Collaborator

@bourque bourque commented Aug 28, 2023

For reviewers: Please review the release.yml file, as that is a new file being introduced in this PR. Also please review the release notes and let me know if anything should be added/removed/changed. Everything else has already been reviewed in past PRs.

Change Summary

Overview

This PR marks the release of version 0.1.0 (which is the first release of imap_processing), which corresponds to the completion of SIT-2. This PR is being merged back into main per the nominal git & GitHub workflow and release workflow.

These are the release notes that will go into the GitHub release:

This release marks the successful completion of SIT-2. Further information about what was tested in SIT-2 can be found in this [galaxy page](https://lasp.colorado.edu/galaxy/display/IMAP/SDC-SIT-2) and the [SIT-2 GitHub Project Board](https://github.com/orgs/IMAP-Science-Operations-Center/projects/2/views/4).

## Features
* Added project documentation (via Sphinx & ReadTheDocs), including Style Guide, development practices, and API reference
* Added Actions workflow to automatic documentation builds
* Added Actions workflow to automatic deployment to PyPI upon release
* Added pre-commit hooks
* Added Issue and Pull Request templates
* Added all-contributors section in README

New Dependencies

  • pydata-sphinx-theme
  • sphinx
  • myst-parser

New Files

The only new file to actually review is .github/workflows/release.yml, which is a workflow for uploading the release to PyPI.

Testing

The new release.yml workflow was tested by triggering the workflow upon push. The workflow successfully completed (see here: https://github.com/IMAP-Science-Operations-Center/imap_processing/actions/runs/6341963633).

The 0.1.0 version of the package was uploaded to PyPI: https://pypi.org/project/imap-processing/

To test this, one can pip install imap-processing in a new environment and make sure 0.1.0 gets successfully installed.

GFMoraga and others added 30 commits July 7, 2023 11:30
This adds the basics to start building our docs and organizing
the sphinx page structure.
…tead of 80, added instructions for installing pre-commit hooks
updates:
- [github.com/psf/black: 22.12.0 → 23.3.0](psf/black@22.12.0...23.3.0)
- [github.com/charliermarsh/ruff-pre-commit: v0.0.245 → v0.0.275](astral-sh/ruff-pre-commit@v0.0.245...v0.0.275)
- [github.com/python-poetry/poetry: 1.4.0 → 1.5.0](python-poetry/poetry@1.4.0...1.5.0)
Adding documentation builds
@bourque bourque linked an issue Aug 29, 2023 that may be closed by this pull request
@bourque bourque marked this pull request as ready for review September 28, 2023 17:35
@bourque bourque requested review from a team, sdhoyt, greglucas, tech3371, bryan-harter, laspsandoval, GFMoraga and maxinelasp and removed request for a team September 28, 2023 17:36
@bourque bourque changed the title SIT-2 Release [WIP] SIT-2 Release Sep 28, 2023
@bourque bourque changed the title SIT-2 Release SIT-2 Release [main] Sep 28, 2023
@bourque bourque mentioned this pull request Sep 28, 2023
Copy link
Collaborator

@greglucas greglucas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like we already have released the code.
https://pypi.org/project/imap-processing/#history

Did you release that off of main, or the 0.1.0 branch? I don't see any tags, so I'm confused what that release corresponds to and how this workflow will go into that. Maybe that was just a temporary release on push? But, then I think we will get a complaint about a release already existing, so maybe you need to yank that one before triggering this actual workflow release?

Comment on lines +38 to +39
# Get the name of the build sdist file for later use
echo "SDIST_NAME=$(ls -1 dist)" >> $GITHUB_OUTPUT
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Get the name of the build sdist file for later use
echo "SDIST_NAME=$(ls -1 dist)" >> $GITHUB_OUTPUT

Comment on lines +17 to +18
outputs:
SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
outputs:
SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }}

I don't think we use that here. It is only used in those other examples when combining sdists and wheels, but it looks like you are just doing sdist and avoiding needing this.

@greglucas
Copy link
Collaborator

Thinking more about this. Do we need the main branch at all? I think main is just the "currently released version"? So, what if we just kept the branches named their version like you have here?

v0.1.x -> 0.1 series that would contain all 0.1 tags.
v0.2.x -> 0.2 series that would contain all 0.2 tags.

We could keep these branches around then and backport whatever we needed to them. This would also eliminate confusion over what version main is and where we are releasing from and remove this need for a massive PR. Thoughts?

@bourque
Copy link
Collaborator Author

bourque commented Sep 28, 2023

It looks like we already have released the code. https://pypi.org/project/imap-processing/#history

Did you release that off of main, or the 0.1.0 branch? I don't see any tags, so I'm confused what that release corresponds to and how this workflow will go into that. Maybe that was just a temporary release on push? But, then I think we will get a complaint about a release already existing, so maybe you need to yank that one before triggering this actual workflow release?

@greglucas Yes, that release was from me testing out the Actions workflow (it worked!). I think you are right -- I will have to remove this release on PyPI before we make the GitHub release.

@greglucas
Copy link
Collaborator

I think you could try to use the test pypi: https://packaging.python.org/en/latest/guides/using-testpypi/ but you also might need to add credentials there and authenticate too so might be more work than it is worth...

Yanking might also not work because the artifacts are still there: https://snarky.ca/what-to-do-when-you-botch-a-release-on-pypi/
So maybe best to just leave it there, and I think you'll still get a failure in the release because it will say "hey this version already exists".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Repo: Release Related to a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deploy to PyPI via GitHub Actions
6 participants